The present disclosure relates to video coding systems and related protocols.
Many modern electronic devices support video coding protocols. Implementations vary but, typically, a first device captures video data at a local location and applies data compression operations upon the video data to transmit the video data to a second device over a bandwidth-limited channel. The second device inverts coding operations that were applied by the first device to generate recovered video data that can be displayed locally.
Oftentimes, transmission errors can arise that cause loss of data when the coded video data is delivered to the second device. Real-time video communication applications often use lossy network protocol stacks such as the Real-time Transport Protocol, the User Datagram Protocol and the Internet Protocol (RTP/UDP/IP). To transmit coded video, various portions of a coded bit stream (such as an HEVC coded bit stream) may be allocated to transmission units (perhaps packets), which are formatted for transmission and transmitted from the first device to the channel. Transmission errors may arise that cause some packets to be lost in transmission and, as a consequence, cause some elements of the coded bit stream to exhibit corruption. Thus, some syntactic elements of the coded bit stream, such as coded frames or administrative data, might not be recovered from the transmission data that is received at the second device.
Some transmission errors may be more significant than others due to data dependencies that are created by a coding protocol. For example, when a transmission error arises with respect to a pixel block in a single frame, the transmission error may not have a significant impact on coding performance particularly if other content of the video session does not rely on the corrupted pixel block. If a transmission error arises with respect to coding elements on which a large number of other coding elements arise, the transmission error can cause loss of a significant amount of data.
The inventors have identified sequence parameter datasets (SPSs) and picture parameter datasets (PPSs) as coding elements that can give rise to large losses of data in coding applications. They have identified a need to develop coding protocols to protect against coding corruption events that can occur due to loss of SPS and/or PPS data in transmission.